www.gusucode.com > 环保时代家庭财务管理系统 EPffms v4.0 > 环保时代家庭财务管理系统 EPffms v4.0\code\eptimehome\inc\Xml_Class.asp

    <%
'****************************************************
'Code for EptimeFFMS
'Vision : v3.0
'****************************************************

Class MainClass_Xml
	Public xmlDocument,xmlPath,xmlDomObj,xmlstr
	Private xmlDomVer,xmlFileSavePath
	
	Public Sub Class_Initialize()
		xmlDomVer = getXmlDomVer()
		createXmlDomObj
	End Sub
	
	Public Sub Class_Terminate()
		If IsObject(xmlDomObj) Then Set xmlDomObj = Nothing
	End Sub
	
	Private Function getXmlDomVer()
		dim i,xmldomVersions,xmlDomVersion
		getXmlDomVer = false
		xmldomVersions = Array("Microsoft.2MLDOM","MSXML2.DOMDocument","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.5.0")
		for i = 0 to ubound(xmldomVersions)
			xmlDomVersion = xmldomVersions(i)
			if isInstallObj(xmlDomVersion) then getXmlDomVer = xmlDomVersion : Exit Function
		next
    End Function
	
	Private Sub createXmlDomObj
		set xmlDomObj = server.CreateObject(xmlDomVer)
		xmlDomObj.validateonparse = true 
		xmlDomObj.async=false 
	End Sub
	
	Public Function load(Byval xml,Byval xmlType)
		dim xmlUrl,xmlfilePath
		select case xmlType 
			case "xmlfile"
				xmlfilePath=server.mappath(xml)   
		 		xmlDomObj.load(xmlfilePath)   
			case "xmldocument"
				xmlUrl = xml
				xmlstr = getRemoteContent(xmlUrl,"text")
				If left(xmlstr, 5) <> "<?xml" then die err_xml else xmlDomObj.loadXML(xmlstr)
			case "transfer"
				xmlUrl = xml
				xmlstr = bytesToStr(getRemoteContent(xmlUrl,"body"),"gbk")
				If left(xmlstr, 5) <> "<?xml" then die err_xml else xmlDomObj.loadXML(xmlstr)
		end select
	End Function
	
	Public Function isExistNode(nodename)
        dim node
        isExistNode = True
        set node = xmlDomObj.getElementsByTagName(nodename)
        If node.Length = 0 Then isExistNode = False : set node = nothing
    End Function
	
	Public Function getNodeValue(nodename, itemId)
		if isNul(itemId) then  itemId = 0
    	getNodeValue = xmlDomObj.getElementsByTagName(nodename).Item(itemId).Text
    End Function
	
	Public Function getNodeLen(nodename)
        getNodeLen = xmlDomObj.getElementsByTagName(nodename).Length
    End Function
	
	Public Function getNodes(nodename)
        Set getNodes = xmlDomObj.getElementsByTagName(nodename)
    End Function
	
	Public Function getNode(nodename, itemId)
        Set getNode = xmlDomObj.getElementsByTagName(nodename).Item(itemId)
    End Function
	
	Public Function getAttributes(nodeName, attrName, itemId)
        dim xmlAttributes, i
		if isNul(itemId) then  itemId = 0
        Set xmlAttributes = xmlDomObj.getElementsByTagName(nodeName).Item(itemId).Attributes
        For i = 0 To xmlAttributes.Length -1
            If xmlAttributes(i).Name = attrName Then
                getAttributes = XmlAttributes(i).Value
				Set xmlAttributes = nothing
                Exit Function
            End If
        Next
        getAttributes = false
    End Function
	
	Public Function setXmlNodeValue(Byval nodename, Byval itemId, Byval str,Byval savePath)
        dim node
		xmlFileSavePath = savePath
        Set node = xmlDomObj.getElementsByTagName(nodename).Item(itemId)
        node.childNodes(0).text = str
        xmlDomObj.save Server.MapPath(xmlFileSavePath)
		set node = nothing
    End Function

End Class
%>